package com.ztesoft.report.service;


import java.sql.Connection;
import java.util.List;
import java.util.Map;

/**
 * @author y3tu
 * @date 2018/6/21
 */
public interface DataService  {
    /**
     * 执行查询
     * @param dataSourceId
     * @param sql
     * @return
     */
    List<Map> executeQuerySql(String dataSourceId, String sql);

    /**
     * 分页查询数据
     * 大数据量查询用此方法分批查询
     * @param dataSourceId 数据源Id
     * @param sql sql语句
     * @param pageSize 每页大小
     * @param page 第几页
     * @return
     */
    List<Map> executeQuerySqlByPage(String dataSourceId,String sql,int pageSize,int page);

    /**
     * 查询数据的数量
     * @param dataSourceId
     * @param sql
     * @return
     */
    int executeQuerySqlCount(String dataSourceId,String sql);
    /**
     * 执行更新或删除
     * @param dataSourceId
     * @param sql
     * @return
     */
    int executeUpdateSql(String dataSourceId, String sql);

    /**
     * 执行SQL,不自动提交
     * @param doneSqls
     * @return
     */
    List<Connection> executeSql(List<Map<String, String>> doneSqls);
}
